package com.example.user_center.common;

/**
 * 返回工具类
 *
 * @author fld
 */
public class ResultUtils<T> {

    // 这个方法就是用来返回成功信息的

    /**
     * 成功
     * @param data 返回数据
     * @return 返回给前端的数据
     * @param <T>
     */
    public static <T> BaseResponse<T> success (T data) {

        return new BaseResponse<>(0,data,"ok");
    }

    /**
     * 失败
     *
     * @param errorCode 错误信息
     * @return 返回给前端的数据
     */
    public static  <T> BaseResponse<T> error(ErrorCode errorCode) {

        return new BaseResponse<>(errorCode);
    }

    /**
     * 失败
     *
     * @param code 异常状态码
     * @param message 异常的getMessage信息
     * @return
     * @param <T>
     */
    public static  <T> BaseResponse<T> error(int code,String message,String description) {

        return new BaseResponse<>(code,message,description);
    }

    /**
     * 失败
     *
     * @param errorCode
     * @param description
     * @return
     * @param <T>
     */
    public static  <T> BaseResponse<T> error(ErrorCode errorCode,String description) {

        return new BaseResponse<>(errorCode,description);
    }

    public static  <T> BaseResponse<T> error(ErrorCode errorCode,String message, String description) {

        return new BaseResponse<>(errorCode,message,description);
    }
}
